package com.ruoyi.qiushi.domain.mall;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 售后订单对象 trade_after_sale
 *
 * @author ruoyi
 * @date 2023-12-25
 */
public class TradeAfterSale extends BaseEntity {
    private static final long serialVersionUID = 1L;

    private String bullst;

    private String userName;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * member_user.id
     */
    @Excel(name = "member_user.id")
    private Long userId;

    /**
     * 售后单号
     */
    @Excel(name = "售后单号")
    private String no;

    /**
     * 售后状态  0申请中  1等待退款  2成功 3拒绝
     */
    @Excel(name = "售后状态  0申请中  1等待退款  2成功 3拒绝")
    private String status;

    /**
     * 申请原因
     */
    @Excel(name = "申请原因")
    private String applyReason;

    /**
     * 补充描述
     */
    @Excel(name = "补充描述")
    private String applyDescription;

    /**
     * 补充凭证图片
     */
    @Excel(name = "补充凭证图片")
    private String applyPicUrls;

    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private Long orderId;

    /**
     * 订单流水号
     */
    @Excel(name = "订单流水号")
    private String orderNo;

    /**
     * 订单项编号
     */
    @Excel(name = "订单项编号")
    private Long orderItemId;

    /**
     * 商品 SPU 编号
     */
    @Excel(name = "商品 SPU 编号")
    private Long spuId;

    /**
     * 商品 SPU 名称
     */
    @Excel(name = "商品 SPU 名称")
    private String spuName;

    /**
     * 商品类型
     */
    @Excel(name = "商品类型")
    private String spuType;

    /**
     * 商品图片
     */
    @Excel(name = "商品图片")
    private String image;

    /**
     * 购买数量
     */
    @Excel(name = "购买数量")
    private Long count;

    /**
     * 审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:MM:ss")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd hh:MM:ss")
    private Date auditTime;

    /**
     * 审批人
     */
    @Excel(name = "审批人")
    private Long auditUserId;

    /** 审核人姓名 */
    @Excel(name = "审核人姓名")
    private String auditUserName;

    /**
     * 审批备注
     */
    @Excel(name = "审批备注")
    private String auditReason;

    /**
     * 退款金额
     */
    @Excel(name = "退款金额")
    private BigDecimal refundPrice;

    /**
     * 第三方支付流水号(如支付宝)
     */
    @Excel(name = "第三方支付流水号(如支付宝)")
    private String refundTradeNo;

    /**
     * 退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:MM:ss")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd hh:MM:ss")
    private Date refundTime;

    /**
     * 0正常 1删除
     */
    private String delFlag;

    public String getBullst() {
        return bullst;
    }

    public void setBullst(String bullst) {
        this.bullst = bullst;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public String getNo() {
        return no;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setApplyReason(String applyReason) {
        this.applyReason = applyReason;
    }

    public String getApplyReason() {
        return applyReason;
    }

    public void setApplyDescription(String applyDescription) {
        this.applyDescription = applyDescription;
    }

    public String getApplyDescription() {
        return applyDescription;
    }

    public void setApplyPicUrls(String applyPicUrls) {
        this.applyPicUrls = applyPicUrls;
    }

    public String getApplyPicUrls() {
        return applyPicUrls;
    }

    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() {
        return applyTime;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderItemId(Long orderItemId) {
        this.orderItemId = orderItemId;
    }

    public Long getOrderItemId() {
        return orderItemId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuType(String spuType) {
        this.spuType = spuType;
    }

    public String getSpuType() {
        return spuType;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getImage() {
        return image;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    public Long getCount() {
        return count;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditUserId(Long auditUserId) {
        this.auditUserId = auditUserId;
    }

    public Long getAuditUserId() {
        return auditUserId;
    }

    public String getAuditUserName() {
        return auditUserName;
    }

    public void setAuditUserName(String auditUserName) {
        this.auditUserName = auditUserName;
    }

    public void setAuditReason(String auditReason) {
        this.auditReason = auditReason;
    }

    public String getAuditReason() {
        return auditReason;
    }

    public void setRefundPrice(BigDecimal refundPrice) {
        this.refundPrice = refundPrice;
    }

    public BigDecimal getRefundPrice() {
        return refundPrice;
    }

    public void setRefundTradeNo(String refundTradeNo) {
        this.refundTradeNo = refundTradeNo;
    }

    public String getRefundTradeNo() {
        return refundTradeNo;
    }

    public void setRefundTime(Date refundTime) {
        this.refundTime = refundTime;
    }

    public Date getRefundTime() {
        return refundTime;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("bullst", getBullst())
                .append("id", getId())
                .append("userId", getUserId())
                .append("no", getNo())
                .append("status", getStatus())
                .append("applyReason", getApplyReason())
                .append("applyDescription", getApplyDescription())
                .append("applyPicUrls", getApplyPicUrls())
                .append("applyTime", getApplyTime())
                .append("orderId", getOrderId())
                .append("orderNo", getOrderNo())
                .append("orderItemId", getOrderItemId())
                .append("spuId", getSpuId())
                .append("spuName", getSpuName())
                .append("spuType", getSpuType())
                .append("image", getImage())
                .append("count", getCount())
                .append("auditTime", getAuditTime())
                .append("auditUserId", getAuditUserId())
                .append("auditUserName", getAuditUserName())
                .append("auditReason", getAuditReason())
                .append("refundPrice", getRefundPrice())
                .append("refundTradeNo", getRefundTradeNo())
                .append("refundTime", getRefundTime())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
